`ShouldShowAirplaneMode` only considers whether airplane mode
should be shown for the form factor, not whether there are
any actual kill switches available.
That's tracked in a separate property, `HasAirplaneMode`.
Take that into account for our `:show-airplane-mode` property,
so that it reflects when airplane mode should and *can* be shown.
Right now we only show airplane mode when it is enabled (and
therefore available), but this will change in the future.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2385>
<node>
<interface name="org.gnome.SettingsDaemon.Rfkill">
<property name="AirplaneMode" type="b" access="readwrite"/>
+ <property name="HasAirplaneMode" type="b" access="read"/>
<property name="HardwareAirplaneMode" type="b" access="read"/>
<property name="BluetoothAirplaneMode" type="b" access="readwrite"/>
<property name="BluetoothHasAirplaneMode" type="b" access="read"/>
}
get show_airplane_mode() {
- return this._proxy.ShouldShowAirplaneMode;
+ return this._proxy.HasAirplaneMode && this._proxy.ShouldShowAirplaneMode;
}
/* eslint-enable camelcase */
case 'HardwareAirplaneMode':
this.notify('hw-airplane-mode');
break;
+ case 'HasAirplaneMode':
case 'ShouldShowAirplaneMode':
this.notify('show-airplane-mode');
break;